<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Class bmqa::Message</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="bdedox.css" rel="stylesheet" type="text/css"/>
    <style>
      div.hanging {
        padding-left: 0.75in;
        text-indent: -0.50in;
      }
      div.unhanging {
        text-indent:     0in;
      }
      a.glossary {
        font-weight: bold;
        font-style: italic;
      }
    </style>
</head>
<!--
<body onload='searchBox.OnSelectItem(0);'>
-->
<body>

<table border=2 cellspacing=0 cellpadding=0 align=center>
<tr>
 <td valign=top align=center>
 <p align=center><b><i>Quick Links:</i></b></p>
 </td>
 <td valign=top align=center>
 <p align=center>
<a class="qindex" href="group__bmqa.html" target="_blank">bmqa</a> | <a class="qindex" href="group__bmqpi.html" target="_blank">bmqpi</a> | <a class="qindex" href="group__bmqt.html" target="_blank">bmqt</a>
 </td>
 </tr>
 </table>

  </div>
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="components.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="components.html"><span>Components</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath">
    <ul>
      <li><a class="el" href="namespacebmqa.html">bmqa</a>      </li>
      <li><a class="el" href="classbmqa_1_1Message.html">bmqa::Message</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<h1>bmqa::Message Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="bmqa::Message" -->
<p><code>#include &lt;<a class="el" href="bmqa__message_8h_source.html">bmqa_message.h</a>&gt;</code></p>

<p><a href="classbmqa_1_1Message-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#a2c8a5dda93610c92f511f226c74502c3">Message</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#a99687814357e59c98e4d862a59a45732">Message</a> (const <a class="el" href="classbmqa_1_1Message.html">Message</a> &amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#a4033c18119fb40da8b7ba1e3c427d34e">~Message</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbmqa_1_1Message.html">Message</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#a4c80e6cc889b881e0bb1ff7575a409c3">operator=</a> (const <a class="el" href="classbmqa_1_1Message.html">Message</a> &amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbmqa_1_1Message.html">Message</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#a57f1107cbf7782105265ef5aea3d8a3c">setData</a> (const bdlbb::Blob *data) BSLS_ANNOTATION_DEPRECATED</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbmqa_1_1Message.html">Message</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#a73724685725169414261546a32950300">setData</a> (const char *data, size_t length) BSLS_ANNOTATION_DEPRECATED</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbmqa_1_1Message.html">Message</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#a979f3d17c493015eb01928c77ec328d4">setDataRef</a> (const bdlbb::Blob *data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbmqa_1_1Message.html">Message</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#a4839429f13c78342f6965194a9e21770">setDataRef</a> (const char *data, size_t length)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbmqa_1_1Message.html">Message</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#a677a565424cbf6d9fe63c46b29c75fbe">setPropertiesRef</a> (const <a class="el" href="classbmqa_1_1MessageProperties.html">MessageProperties</a> *properties)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbmqa_1_1Message.html">Message</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#a15394053c68b129cd67c1f74d37123c8">clearPropertiesRef</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbmqa_1_1Message.html">Message</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#a13966aa7376c58c8570cf64182ca8f9c">setCorrelationId</a> (const <a class="el" href="classbmqt_1_1CorrelationId.html">bmqt::CorrelationId</a> &amp;correlationId)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbmqa_1_1Message.html">Message</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#a749ee6b6e41f09fd8147c7c3cf12faa4">setCompressionAlgorithmType</a> (<a class="el" href="structbmqt_1_1CompressionAlgorithmType.html#ac557e5b9a25ddb9e0efd87ec921ebb03">bmqt::CompressionAlgorithmType::Enum</a> value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#aaf3892d29dd330b1e2f37a277e0a2392">isValid</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#a4a7503a385a1f08aeb1d3164d11884c8">operator bool</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbmqa_1_1Message.html">Message</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#af0bd339a41b38639e5de61181a73719f">clone</a> (bslma::Allocator *basicAllocator=0) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classbmqa_1_1QueueId.html">bmqa::QueueId</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#a4997d541238671d42db5773d9cc4b36a">queueId</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classbmqt_1_1CorrelationId.html">bmqt::CorrelationId</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#aa890be2d645fa7c5b6f5b69fc833b35a">correlationId</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structbmqt_1_1CompressionAlgorithmType.html#ac557e5b9a25ddb9e0efd87ec921ebb03">bmqt::CompressionAlgorithmType::Enum</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#a916bbc49feaa16ec75a70c50e6b9b5e7">compressionAlgorithmType</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classbmqt_1_1MessageGUID.html">bmqt::MessageGUID</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#a24cb94bdbda516023c4f3114e7385707">messageGUID</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbmqa_1_1MessageConfirmationCookie.html">MessageConfirmationCookie</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#a4648c9c4b3f85bd578c0083228609f30">confirmationCookie</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#ad7f399cb66a794c83d7513d8cc90dee4">ackStatus</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#a0daf7021eef1b59e79cb655cbfe3f611">getData</a> (bdlbb::Blob *blob) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#aad29f67b081199924e6b4205cb51d4f4">dataSize</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#acdfa6a8437275f09a226c1af0b16e40f">hasProperties</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#a5784af8748a2769d8ec2b5ae005236fd">loadProperties</a> (<a class="el" href="classbmqa_1_1MessageProperties.html">MessageProperties</a> *buffer) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bsl::ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbmqa_1_1Message.html#a9354d63923d9260aa887bf4c5a19a95a">print</a> (bsl::ostream &amp;stream, int level=0, int spacesPerLevel=4) const </td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>A message sent/received to/from the BlazingMQ broker.</p>
<p>See <a class="el" href="group__bmqa__message.html">Component bmqa_message</a> </p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a2c8a5dda93610c92f511f226c74502c3"></a><!-- doxytag: member="bmqa::Message::Message" ref="a2c8a5dda93610c92f511f226c74502c3" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bmqa::Message::Message </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Create an invalid message having no content. Only valid operations on an invalid message instance are assignment and destruction. </p>

</div>
</div>
<a class="anchor" id="a99687814357e59c98e4d862a59a45732"></a><!-- doxytag: member="bmqa::Message::Message" ref="a99687814357e59c98e4d862a59a45732" args="(const Message &amp;other)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bmqa::Message::Message </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classbmqa_1_1Message.html">Message</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Create a message from the specified <code>other</code> instance. </p>

</div>
</div>
<a class="anchor" id="a4033c18119fb40da8b7ba1e3c427d34e"></a><!-- doxytag: member="bmqa::Message::~Message" ref="a4033c18119fb40da8b7ba1e3c427d34e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bmqa::Message::~Message </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Destructor </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a4c80e6cc889b881e0bb1ff7575a409c3"></a><!-- doxytag: member="bmqa::Message::operator=" ref="a4c80e6cc889b881e0bb1ff7575a409c3" args="(const Message &amp;other)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classbmqa_1_1Message.html">Message</a>&amp; bmqa::Message::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classbmqa_1_1Message.html">Message</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Assign to this object the value of the specified <code>other</code> instance and return a reference to this object. </p>

</div>
</div>
<a class="anchor" id="a57f1107cbf7782105265ef5aea3d8a3c"></a><!-- doxytag: member="bmqa::Message::setData" ref="a57f1107cbf7782105265ef5aea3d8a3c" args="(const bdlbb::Blob *data) BSLS_ANNOTATION_DEPRECATED" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classbmqa_1_1Message.html">Message</a>&amp; bmqa::Message::setData </td>
          <td>(</td>
          <td class="paramtype">const bdlbb::Blob *&nbsp;</td>
          <td class="paramname"> <em>data</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set the payload of this message to the blob pointed to by the specified <code>data</code>. Behavior is undefined unless <code>data</code> is non-null and payload's length is greater than zero. Note that payload pointed to by <code>data</code> is <em>not</em> copied right away, and should not be destroyed or modified until this message has been packed (see <code><a class="el" href="classbmqa_1_1MessageEventBuilder.html">bmqa::MessageEventBuilder</a></code> component level documentation for correct usage).</p>
<p>This method is deprecated, please use <code><a class="el" href="classbmqa_1_1Message.html#a979f3d17c493015eb01928c77ec328d4">setDataRef()</a></code> instead. </p>

</div>
</div>
<a class="anchor" id="a73724685725169414261546a32950300"></a><!-- doxytag: member="bmqa::Message::setData" ref="a73724685725169414261546a32950300" args="(const char *data, size_t length) BSLS_ANNOTATION_DEPRECATED" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classbmqa_1_1Message.html">Message</a>&amp; bmqa::Message::setData </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set the payload of this message to the specified <code>length</code> bytes starting at the specified <code>data</code> address. The behavior is undefined unless <code>data</code> is non-null and <code>length</code> is greater than zero. Note that payload pointed to by <code>data</code> is <em>not</em> copied right away, and should not be destroyed or modified until this message has been packed (see <code><a class="el" href="classbmqa_1_1MessageEventBuilder.html">bmqa::MessageEventBuilder</a></code> component level documentation for correct usage).</p>
<p>This method is deprecated, please use <code><a class="el" href="classbmqa_1_1Message.html#a979f3d17c493015eb01928c77ec328d4">setDataRef()</a></code> instead. </p>

</div>
</div>
<a class="anchor" id="a979f3d17c493015eb01928c77ec328d4"></a><!-- doxytag: member="bmqa::Message::setDataRef" ref="a979f3d17c493015eb01928c77ec328d4" args="(const bdlbb::Blob *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classbmqa_1_1Message.html">Message</a>&amp; bmqa::Message::setDataRef </td>
          <td>(</td>
          <td class="paramtype">const bdlbb::Blob *&nbsp;</td>
          <td class="paramname"> <em>data</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set the payload of this message to the blob pointed to by the specified <code>data</code>. Behavior is undefined unless <code>data</code> is non-null and payload's length is greater than zero. Note that payload pointed to by <code>data</code> is <em>not</em> copied right away, and should not be destroyed or modified until this message has been packed (see <code><a class="el" href="classbmqa_1_1MessageEventBuilder.html">bmqa::MessageEventBuilder</a></code> component level documentation for correct usage). </p>

</div>
</div>
<a class="anchor" id="a4839429f13c78342f6965194a9e21770"></a><!-- doxytag: member="bmqa::Message::setDataRef" ref="a4839429f13c78342f6965194a9e21770" args="(const char *data, size_t length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classbmqa_1_1Message.html">Message</a>&amp; bmqa::Message::setDataRef </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set the payload of this message to the specified <code>length</code> bytes starting at the specified <code>data</code> address. The behavior is undefined unless <code>data</code> is non-null and <code>length</code> is greater than zero. Note that payload pointed to by <code>data</code> is <em>not</em> copied right away, and should not be destroyed or modified until this message has been packed (see <code><a class="el" href="classbmqa_1_1MessageEventBuilder.html">bmqa::MessageEventBuilder</a></code> component level documentation for correct usage). </p>

</div>
</div>
<a class="anchor" id="a677a565424cbf6d9fe63c46b29c75fbe"></a><!-- doxytag: member="bmqa::Message::setPropertiesRef" ref="a677a565424cbf6d9fe63c46b29c75fbe" args="(const MessageProperties *properties)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classbmqa_1_1Message.html">Message</a>&amp; bmqa::Message::setPropertiesRef </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classbmqa_1_1MessageProperties.html">MessageProperties</a> *&nbsp;</td>
          <td class="paramname"> <em>properties</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set the properties of this message to the <code><a class="el" href="classbmqa_1_1MessageProperties.html">MessageProperties</a></code> instance pointed by the specified <code>properties</code>. Behavior is undefined unless <code>properties</code> is non-null. Note that properties are <em>not</em> copied right away, and should not be destroyed or modified until this message has been packed (see <code><a class="el" href="classbmqa_1_1MessageEventBuilder.html">bmqa::MessageEventBuilder</a></code> component level documentation for correct usage). </p>

</div>
</div>
<a class="anchor" id="a15394053c68b129cd67c1f74d37123c8"></a><!-- doxytag: member="bmqa::Message::clearPropertiesRef" ref="a15394053c68b129cd67c1f74d37123c8" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classbmqa_1_1Message.html">Message</a>&amp; bmqa::Message::clearPropertiesRef </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Clear out and properties associated with this message. Note that if there are no properties associated with this message, this method has no effect. Also note that the associated <code><a class="el" href="classbmqa_1_1MessageProperties.html">MessageProperties</a></code> instance, if any, is not modified; it's simply dissociated from this message. </p>

</div>
</div>
<a class="anchor" id="a13966aa7376c58c8570cf64182ca8f9c"></a><!-- doxytag: member="bmqa::Message::setCorrelationId" ref="a13966aa7376c58c8570cf64182ca8f9c" args="(const bmqt::CorrelationId &amp;correlationId)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classbmqa_1_1Message.html">Message</a>&amp; bmqa::Message::setCorrelationId </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classbmqt_1_1CorrelationId.html">bmqt::CorrelationId</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>correlationId</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set correlation ID of this message to the specified <code>correlationId</code>. </p>

</div>
</div>
<a class="anchor" id="a749ee6b6e41f09fd8147c7c3cf12faa4"></a><!-- doxytag: member="bmqa::Message::setCompressionAlgorithmType" ref="a749ee6b6e41f09fd8147c7c3cf12faa4" args="(bmqt::CompressionAlgorithmType::Enum value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classbmqa_1_1Message.html">Message</a>&amp; bmqa::Message::setCompressionAlgorithmType </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structbmqt_1_1CompressionAlgorithmType.html#ac557e5b9a25ddb9e0efd87ec921ebb03">bmqt::CompressionAlgorithmType::Enum</a>&nbsp;</td>
          <td class="paramname"> <em>value</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set the Compression algorithm type of the current message to the specified <code>value</code> and return a reference offering modifiable access to this object. </p>

</div>
</div>
<a class="anchor" id="aaf3892d29dd330b1e2f37a277e0a2392"></a><!-- doxytag: member="bmqa::Message::isValid" ref="aaf3892d29dd330b1e2f37a277e0a2392" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool bmqa::Message::isValid </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>TBD:BSLS_ANNOTATION_DEPRECATED </p>

</div>
</div>
<a class="anchor" id="a4a7503a385a1f08aeb1d3164d11884c8"></a><!-- doxytag: member="bmqa::Message::operator bool" ref="a4a7503a385a1f08aeb1d3164d11884c8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bmqa::Message::operator bool </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>TBD:BSLS_ANNOTATION_DEPRECATED </p>

</div>
</div>
<a class="anchor" id="af0bd339a41b38639e5de61181a73719f"></a><!-- doxytag: member="bmqa::Message::clone" ref="af0bd339a41b38639e5de61181a73719f" args="(bslma::Allocator *basicAllocator=0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classbmqa_1_1Message.html">Message</a> bmqa::Message::clone </td>
          <td>(</td>
          <td class="paramtype">bslma::Allocator *&nbsp;</td>
          <td class="paramname"> <em>basicAllocator</em> = <code>0</code></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return a copy of this message, using the optionally specified <code>basicAllocator</code> with the copy holding all the data of this instance and not backed by any <code><a class="el" href="classbmqa_1_1MessageEvent.html">MessageEvent</a></code>. Note that this operation does <em>not</em> copy underlying data. </p>

</div>
</div>
<a class="anchor" id="a4997d541238671d42db5773d9cc4b36a"></a><!-- doxytag: member="bmqa::Message::queueId" ref="a4997d541238671d42db5773d9cc4b36a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classbmqa_1_1QueueId.html">bmqa::QueueId</a>&amp; bmqa::Message::queueId </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return the queue ID indicating the queue for which this message has been received from. The behavior is undefined unless this instance represents a <code>PUT</code>, <code>PUSH</code> or <code>ACK</code> message. </p>

</div>
</div>
<a class="anchor" id="aa890be2d645fa7c5b6f5b69fc833b35a"></a><!-- doxytag: member="bmqa::Message::correlationId" ref="aa890be2d645fa7c5b6f5b69fc833b35a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classbmqt_1_1CorrelationId.html">bmqt::CorrelationId</a>&amp; bmqa::Message::correlationId </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return the correlation Id associated with this message. The behavior is undefined unless this instance represents a <code>PUT</code> or an <code>ACK</code>, or a <code>PUSH</code> message. Note that in case of failure to accept a <code>PUT</code> message, BlazingMQ sends an <code>ACK</code> message with failed status, even if an <code>ACK</code> message was not requested by the application (i.e., no correlationId was specified when posting the message). In such cases, correlationId associated with the <code>ACK</code> message will be unset, and as such, application <em>must</em> check for that by invoking <code>isUnset</code> on the returned correlationId object. In the case of a <code>PUSH</code> message, the return value is the one specified as the correlation id of the corresponding Subscription. Invoking <code>thePointer</code>, <code>theNumeric</code> or <code>theSharedPtr</code> on an unset correlationId instance will lead to undefined behavior. </p>

</div>
</div>
<a class="anchor" id="a916bbc49feaa16ec75a70c50e6b9b5e7"></a><!-- doxytag: member="bmqa::Message::compressionAlgorithmType" ref="a916bbc49feaa16ec75a70c50e6b9b5e7" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structbmqt_1_1CompressionAlgorithmType.html#ac557e5b9a25ddb9e0efd87ec921ebb03">bmqt::CompressionAlgorithmType::Enum</a> bmqa::Message::compressionAlgorithmType </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return Compression algorithm type of the current message. Behavior is undefined unless this instance represents a <code>PUT</code> or <code>PUSH</code> message. </p>

</div>
</div>
<a class="anchor" id="a24cb94bdbda516023c4f3114e7385707"></a><!-- doxytag: member="bmqa::Message::messageGUID" ref="a24cb94bdbda516023c4f3114e7385707" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classbmqt_1_1MessageGUID.html">bmqt::MessageGUID</a>&amp; bmqa::Message::messageGUID </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return the unique message Id generated by the SDK for this message. The behavior is undefined unless this instance represents a <code>PUT</code>, a <code>PUSH</code> or an <code>ACK</code> message. </p>

</div>
</div>
<a class="anchor" id="a4648c9c4b3f85bd578c0083228609f30"></a><!-- doxytag: member="bmqa::Message::confirmationCookie" ref="a4648c9c4b3f85bd578c0083228609f30" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classbmqa_1_1MessageConfirmationCookie.html">MessageConfirmationCookie</a> bmqa::Message::confirmationCookie </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return a cookie which can be used to confirm this message. The behavior is undefined unless this instance represents a <code>PUSH</code> message. </p>

</div>
</div>
<a class="anchor" id="ad7f399cb66a794c83d7513d8cc90dee4"></a><!-- doxytag: member="bmqa::Message::ackStatus" ref="ad7f399cb66a794c83d7513d8cc90dee4" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int bmqa::Message::ackStatus </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return the status of the <code>ACK</code> message. The behavior is undefined unless this instance represents an <code>ACK</code> message. This value correspond to the <code><a class="el" href="structbmqt_1_1AckResult.html#a1ab5de366be811debfb50e08dbfd7132" title="GENERIC.">bmqt::AckResult::Enum</a></code> enum. </p>

</div>
</div>
<a class="anchor" id="a0daf7021eef1b59e79cb655cbfe3f611"></a><!-- doxytag: member="bmqa::Message::getData" ref="a0daf7021eef1b59e79cb655cbfe3f611" args="(bdlbb::Blob *blob) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int bmqa::Message::getData </td>
          <td>(</td>
          <td class="paramtype">bdlbb::Blob *&nbsp;</td>
          <td class="paramname"> <em>blob</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Load into the specified <code>blob</code> the payload of the message, if any. Return zero if the message has a payload and non-zero value otherwise. The behaviour is undefined unless this instance represents a <code>PUT</code> or <code>PUSH</code> message. Note that for efficiency, application should fetch payload once and cache the value, instead of invoking this method multiple times on a message. </p>

</div>
</div>
<a class="anchor" id="aad29f67b081199924e6b4205cb51d4f4"></a><!-- doxytag: member="bmqa::Message::dataSize" ref="aad29f67b081199924e6b4205cb51d4f4" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int bmqa::Message::dataSize </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return the number of bytes in the payload. The behaviour is undefined unless this instance represents a <code>PUT</code> or a <code>PUSH</code> message. Note that for efficiency, application should fetch payload size once and cache the value, instead of invoking this method multiple times on a message. </p>

</div>
</div>
<a class="anchor" id="acdfa6a8437275f09a226c1af0b16e40f"></a><!-- doxytag: member="bmqa::Message::hasProperties" ref="acdfa6a8437275f09a226c1af0b16e40f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool bmqa::Message::hasProperties </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return <code>true</code> if this instance has at least one message property associated with it, <code>false</code> otherwise. Behavior is undefined unless this instance represents a <code>PUT</code> or a <code>PUSH</code> message. </p>

</div>
</div>
<a class="anchor" id="a5784af8748a2769d8ec2b5ae005236fd"></a><!-- doxytag: member="bmqa::Message::loadProperties" ref="a5784af8748a2769d8ec2b5ae005236fd" args="(MessageProperties *buffer) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int bmqa::Message::loadProperties </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classbmqa_1_1MessageProperties.html">MessageProperties</a> *&nbsp;</td>
          <td class="paramname"> <em>buffer</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Load into the specified <code>buffer</code> the properties associated with this message. Return zero on success, and a non-zero value otherwise. Behavior is undefined unless this instance represents a <code>PUT</code> or a <code>PUSH</code> message, and unless <code>buffer</code> is non-null. Note that if there are no properties associated with this message, zero will be returned and the <code><a class="el" href="classbmqa_1_1MessageProperties.html">MessageProperties</a></code> instance pointed by <code>buffer</code> will be cleared. Also note that for efficiency, application should fetch properties once and cache the value, instead of invoking this method multiple times on a message. </p>

</div>
</div>
<a class="anchor" id="a9354d63923d9260aa887bf4c5a19a95a"></a><!-- doxytag: member="bmqa::Message::print" ref="a9354d63923d9260aa887bf4c5a19a95a" args="(bsl::ostream &amp;stream, int level=0, int spacesPerLevel=4) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bsl::ostream&amp; bmqa::Message::print </td>
          <td>(</td>
          <td class="paramtype">bsl::ostream &amp;&nbsp;</td>
          <td class="paramname"> <em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>level</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>spacesPerLevel</em> = <code>4</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Format this object to the specified output <code>stream</code> at the (absolute value of) the optionally specified indentation <code>level</code> and return a reference to <code>stream</code>. If <code>level</code> is specified, optionally specify <code>spacesPerLevel</code>, the number of spaces per indentation level for this and all of its nested objects. If <code>level</code> is negative, suppress indentation of the first line. If <code>spacesPerLevel</code> is negative format the entire output on one line, suppressing all but the initial indentation (as governed by <code>level</code>). If <code>stream</code> is not valid on entry, this operation has no effect. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="bmqa__message_8h_source.html">bmqa_message.h</a></li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Thu Jun 15 2023 11:58:51 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
</body>
</html>
